using System;
using System.Collections.Generic;
using System.Text;

using Ecreate.Popedom;

namespace Ecreate.Popedom
{
    public interface IManagerFactory
    {
		// Get Methods
		ItSysuserManager GettSysuserManager();
		ItSysuserManager GettSysuserManager(INHibernateSession session);
		ItMenuManager GettMenuManager();
		ItMenuManager GettMenuManager(INHibernateSession session);
		ItGroupassignManager GettGroupassignManager();
		ItGroupassignManager GettGroupassignManager(INHibernateSession session);
		ItGroupManager GettGroupManager();
		ItGroupManager GettGroupManager(INHibernateSession session);
    }

    public class ManagerFactory : IManagerFactory
    {
        #region Constructors

        public ManagerFactory()
        {
        }

        #endregion

        #region Get Methods

		public ItSysuserManager GettSysuserManager()
        {
            return new tSysuserManager();
        }
		public ItSysuserManager GettSysuserManager(INHibernateSession session)
        {
            return new tSysuserManager(session);
        }
		public ItMenuManager GettMenuManager()
        {
            return new tMenuManager();
        }
		public ItMenuManager GettMenuManager(INHibernateSession session)
        {
            return new tMenuManager(session);
        }
		public ItGroupassignManager GettGroupassignManager()
        {
            return new tGroupassignManager();
        }
		public ItGroupassignManager GettGroupassignManager(INHibernateSession session)
        {
            return new tGroupassignManager(session);
        }
		public ItGroupManager GettGroupManager()
        {
            return new tGroupManager();
        }
		public ItGroupManager GettGroupManager(INHibernateSession session)
        {
            return new tGroupManager(session);
        }
        
        #endregion
    }
}
